home *** CD-ROM | disk | FTP | other *** search
/ AOL File Library: 2,801 to 2,900 / aol-file-protocol-4400-2801-to-2900.zip / AOLDLs / C++ Files Library / 3D & Offscreen for MacApp 3 / 3D & Offscreen Sample.sea / 3D & Offscreen Sample / T3DView.h < prev    next >
Text File  |  1993-05-17  |  2KB  |  100 lines

  1. /*************************************************************************
  2.  
  3.         File: T3DView.h
  4.  
  5.         C O P Y R I G H T    N O T I C E
  6.  
  7.      Copyright ⌐ 1993, Eric Hanig.
  8.         All Rights Reserved.
  9.  
  10.  
  11.         D E S C R I P T I O N
  12.  
  13.  
  14.         Classes Defined Here:
  15.  
  16.              Ñ
  17.  
  18.  
  19.         Change History
  20.  
  21.         Rev 1    Wed, Apr 14, 1993 @ 1:17 PM        Hanig
  22.             Creation
  23.  
  24.  *************************************************************************/
  25. /*************************************************************************/
  26. #ifndef __T3DView__
  27. #define __T3DView__
  28.  
  29. /*************************************************************************/
  30. /*                            Include Files                                 */
  31. /*************************************************************************/
  32. #ifndef        __UVIEW__
  33. #include    <UView.h>
  34. #endif
  35. #ifndef        __GRAF3D__
  36. #include    <Graf3D.h>
  37. #endif
  38. #ifndef        __TYPES__
  39. #include    <Types.h>
  40. #endif
  41.  
  42. /*************************************************************************/
  43. /*                                Constants                                     */
  44. /*************************************************************************/
  45. typedef struct {
  46.     double    x;
  47.     double    y;
  48.     double    z;
  49. } CPoint3D;
  50.  
  51. typedef double Matrix4D[4][4]; 
  52.  
  53. /*************************************************************************/
  54. /*                           Class Declaration                             */
  55. /*************************************************************************/
  56.  
  57. class T3DView : public TView
  58. {
  59.     protected:
  60.         Boolean            fScaleonSizeChange;
  61.         Port3D            fThe3DPort;
  62.         Fixed            fViewAngle;
  63.         
  64.     public:
  65.         T3DView(void);
  66.                 
  67.         virtual pascal void    Initialize();
  68.                         
  69.         virtual pascal void    DoPostCreate(TDocument* itsDocument);
  70.                         
  71.         virtual pascal void    SetFrame(const VRect& newFrame, Boolean invalidate);
  72.                         
  73.         virtual pascal Boolean    Focus();
  74.                         
  75.         virtual pascal void    Scale(Fixed xFactor,Fixed yFactor,Fixed zFactor);
  76.                         
  77.         virtual pascal void    LookAt(Fixed left,Fixed top,Fixed right,Fixed bottom);
  78.  
  79.         virtual pascal void    ViewAngle(Fixed angle);
  80.  
  81.         virtual pascal void    GetViewAngle(Fixed& theViewAngle);
  82.                 
  83.         virtual pascal void    Skew(Fixed zAngle);
  84.                 
  85.         virtual pascal void    Yaw(Fixed yAngle);
  86.                         
  87.         virtual pascal void    Pitch(Fixed xAngle);
  88.                         
  89.         virtual pascal void    Roll(Fixed zAngle);
  90.                         
  91.         virtual pascal void    Translate(Fixed dx,Fixed dy,Fixed dz);
  92.                         
  93.         virtual pascal void    Identity( void );
  94.  
  95. };
  96.  
  97. /*************************************************************************/
  98. #endif
  99. /*************************************************************************/
  100.